package com.wms.common;

import com.baomidou.mybatisplus.extension.api.R;
import lombok.Data;

@Data
public class Result {
    private int code;    // 编码 200/400
    private String msg;  // 成功/失败
    private Long total;  // 总记录数
    private Object data; // 数据

    // 失败返回
    public static Result fail() {
        return result(400, "失败", 0L, null);
    }

    // 成功返回（无 data，无 total，total 设为 0）
    public static Result suc() {
        return result(200, "成功", 0L, null);
    }

    // 成功返回（带 data，无 total，total 设为 0）
    public static Result suc(Object data) {
        return result(200, "成功", 0L, data);
    }

    // 成功返回（带 data 和 total）
    public static Result suc(Object data, Long total) {
        return result(200, "成功", total, data);
    }

    // 核心构建方法
    private static Result result(int code, String msg, Long total, Object data) {
        Result res = new Result();
        res.setData(data);
        res.setMsg(msg);
        res.setCode(code);
        res.setTotal(total);
        return res;
    }
}
